-- These MIBs were created on 05/15/2001
-- This module defines enterprise MIBs for QoS
-- 
-- Copyright (c) 1999-2004, Juniper Networks, Inc.
-- All rights reserved.
-- 

-- MODULE-IDENTITY
--  OrgName
--    Juniper Networks, Inc.
--  ContactInfo
--     Customer Support
--     
--     1194 North Mathilda Avenue 
--     Sunnyvale, California 94089-1206
--     USA
--     
--     Tel: 1-800-638-8296
--     E-mail: customerservice@juniper.net
--     HTTP://www.juniper.net"
--
--  Descr
--    This module defines the object that are used to monitor QoS
--  Last modified date: 05/03/2004
--  Modified copyright and contact info
--    
--  Last modified date: 09/28/2001
--    

NETSCREEN-QOS-MIB DEFINITIONS ::= BEGIN
IMPORTS

    DisplayString       FROM RFC1213-MIB 
    netscreenQos  FROM NETSCREEN-SMI;

        nsQosUsrShapingMode OBJECT-TYPE 
                SYNTAX  INTEGER {
                        off(0),
                        on(1),
                        on-off(2),
                        off-on(3),
                        auto(4)
                }
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                                "QoS mode set by user"
        ::= { netscreenQos 1 }
        
        nsQosSysShapingMode OBJECT-TYPE 
                SYNTAX  INTEGER {
                        off(0),
                        on(1),
                        on-off(2),
                        off-on(3),
                        auto(4)
                }
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                                "QoS mode currently set by the system"
                ::= { netscreenQos 2 }

    nsQosPly OBJECT IDENTIFIER ::= {netscreenQos 3}
     
        nsQosPlyTable OBJECT-TYPE
                SYNTAX  SEQUENCE OF NsQosPlyEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION 
                        "QoS is the allocation of the appropriate amount
                        of network bandwidthto every user and application on an 
                        interface. This table collects all the QoS configuration
                        setting on each physical interface."
                ::= { nsQosPly 1 }

    nsQosPlyEntry OBJECT-TYPE
        SYNTAX  NsQosPlyEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
               "Each entry holds a set of attributes for QoS"
        INDEX   { nsQosPlyId }
        ::= { nsQosPlyTable 1 }

        NsQosPlyEntry ::=
                SEQUENCE {
                        nsQosPlyId
                                INTEGER,    
                        nsQosPlyVsys
                                INTEGER,
                        nsQosPlyQosEnable
                                INTEGER,
                        nsQosPlyGanBW
                                INTEGER,
                        nsQosPlyMaxBW
                                INTEGER,
                        nsQosPlyTraffPriority
                                INTEGER,
                        nsQosPlyDSEnable 
                                INTEGER
       }

        nsQosPlyId OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "A unique policy id, also used as table index." 
        ::= { nsQosPlyEntry 1 }

        nsQosPlyVsys OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "VSYS this policy belongs to." 
        ::= { nsQosPlyEntry 2 }

        nsQosPlyQosEnable OBJECT-TYPE
        SYNTAX  INTEGER {
                off(0),
                on(1)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "Enable QoS on this policy."
        ::= { nsQosPlyEntry 3 }

        nsQosPlyGanBW OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "Guaranteed Bandwidth (in bytes per second).
                          When Qos Enable is off, the value has no meaning."
        ::= { nsQosPlyEntry 4 }

        nsQosPlyMaxBW OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "Maxium Bandwidth (in bytes per second).
                          When Qos Enable is off, the value has no meaning.
                          Negative value means it is not set yet."
        ::= { nsQosPlyEntry 5 }

        nsQosPlyTraffPriority OBJECT-TYPE
        SYNTAX  INTEGER 
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "Traffic priority for this policy. Zero is the highest
                          priority and seven is the lowest."
        ::= { nsQosPlyEntry 6 }

        nsQosPlyDSEnable OBJECT-TYPE
        SYNTAX  INTEGER {
                off(0),
                on(1)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "Enable DiffServ codepoint marking on this policy."
        ::= { nsQosPlyEntry 7 }

END